/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.seguridad.managed;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.model.DefaultMenuModel;
import org.primefaces.model.MenuModel;
import sv.com.intesal.clases.Mensaje;
import sv.com.intesal.seguridad.controlador.SessionControlador;

/**
 *
 * @author ejerez
 */
@ManagedBean(name = "menuModeloManaged")
@SessionScoped
public class MenuModeloManaged implements Serializable {

    private MenuModel model;
    private Mensaje m;
    private Boolean flag_everything;
    private Boolean flag_compra;
    private Boolean flag_proyecto;
    private Boolean flag_seguridad;
    private Boolean flag_rrhh;
    private Boolean flag_facturacion;
    private Boolean flag_gastos;
    private Boolean flag_cch; //caja chica
    private String title;

    public MenuModeloManaged() {
        model = new DefaultMenuModel();
        this.buildModelMenu();
        this.visibleFalseEverything();
    }

    private void buildModelMenu() {
        try {
            SessionManaged sm = new SessionManaged();
            sm.validarSessionActivo();

            SessionControlador sc = new SessionControlador();
            this.model = sc.getMenuModel();

        } catch (Exception e) {
            e.printStackTrace();
            m.messageError(m.getIerror());
        }
    }

    private void visibleFalseEverything() {
        this.flag_everything = false;
        this.flag_compra = false;
        this.flag_proyecto = false;
        this.flag_seguridad = false;
        this.flag_rrhh = false;
    }

    public void visibleProyecto() {
        this.visibleFalseEverything();
        this.flag_proyecto = true;
        this.title = "Módulo de Proyecto";
    }

    public void visibleCompra() {
        this.visibleFalseEverything();
        this.flag_compra = true;
        this.title = "Módulo de Compra";
    }

    public void visibleRRHH() {
        this.visibleFalseEverything();
        this.flag_rrhh = true;
        this.title = "Módulo de Recurso Humanos";
    }

    public void visibleSeguridad() {
        this.visibleFalseEverything();
        this.flag_seguridad = true;
        this.title = "Módulo de Seguridad";
    }

    public void visibleGastos() {
        this.visibleFalseEverything();
        this.flag_seguridad = true;
        this.title = "Módulo de Gastos";
    }

    public void visibleFacturacion() {
        this.visibleFalseEverything();
        this.flag_seguridad = true;
        this.title = "Módulo de Facturación";
    }

    public MenuModel getModel() {
        if (model == null) {
            model = new DefaultMenuModel();
        }
        return model;
    }

    public void setModel(MenuModel model) {
        this.model = model;
    }

    public Boolean getFlag_compra() {
        return flag_compra;
    }

    public void setFlag_compra(Boolean flag_compra) {
        this.flag_compra = flag_compra;
    }

    public Boolean getFlag_everything() {
        return flag_everything;
    }

    public void setFlag_everything(Boolean flag_everything) {
        this.flag_everything = flag_everything;
    }

    public Boolean getFlag_proyecto() {
        return flag_proyecto;
    }

    public void setFlag_proyecto(Boolean flag_proyecto) {
        this.flag_proyecto = flag_proyecto;
    }

    public Boolean getFlag_rrhh() {
        return flag_rrhh;
    }

    public void setFlag_rrhh(Boolean flag_rrhh) {
        this.flag_rrhh = flag_rrhh;
    }

    public Boolean getFlag_seguridad() {
        return flag_seguridad;
    }

    public void setFlag_seguridad(Boolean flag_seguridad) {
        this.flag_seguridad = flag_seguridad;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Boolean getFlag_cch() {
        return flag_cch;
    }

    public void setFlag_cch(Boolean flag_cch) {
        this.flag_cch = flag_cch;
    }

    public Boolean getFlag_facturacion() {
        return flag_facturacion;
    }

    public void setFlag_facturacion(Boolean flag_facturacion) {
        this.flag_facturacion = flag_facturacion;
    }

    public Boolean getFlag_gastos() {
        return flag_gastos;
    }

    public void setFlag_gastos(Boolean flag_gastos) {
        this.flag_gastos = flag_gastos;
    }
}
